package com.pattern.bridge;

public abstract class AbstractCupMaker implements CupMaker {
	Paitner painter;
	Material material;

	public AbstractCupMaker(Paitner painter, Material material) {
		super();
		this.painter = painter;
		this.material = material;
	}

	@Override
	public Cup makeCup() {
		Cup cup = new Cup(material.prepareMaterial(), cupSize());
		painter.paint(cup);
		return cup;
	}

	protected abstract String cupSize();

}
